package http

// CommonResponse 通用响应
type CommonResponse struct {
	Code int64  `json:"code"`
	Msg  string `json:"msg"`
}

// CallVideo 视频调用
type CallVideo struct {
	TID          string
	StreamID     string
	DeviceSipID  string
	NvrDeviceID  string
	NvrChannelID int64
	DccID        string
	LinkMode     int64
	//IpcType  摄像头类型  1=NVR , 2=IPC , 3=枪机 , 4=球机 , 5=全景相机 ,
	// 6=移动监拍 7=无人机 , 8=机器人 , 9=手机APP , 10=智能报警设备 ,
	//11 = 通过openAPI接入设备
	IpcType int64
	IsNat   bool //是否是外网

	MediaID                   string //媒体中心ID
	PushPushStreamIP          string // 推流IP
	PushPushStreamPort        int64  // 推流端口
	NatMscPushStreamStartIP   string // 外网推流IP
	NatMscPushStreamStartPort int64  // 外网推流端口
}

// CallVideoResponse 实时调阅响应
type CallVideoResponse struct {
	Response
	StreamID string //流ID  例: SSRC:deviceID:channelID
	SSRC     string //SSRC
}

// DeviceInfo 调阅设备信息
type DeviceInfo struct {
	NvrDeviceID  string //Nvr ID
	NvrChannelID int64  //Nvr 通道ID
	DeviceSipID  string //摄像头ID
	DeviceName   string //设备名称
}

// ReqApplyAudioPort   申请音频广播接入口
type ReqApplyAudioPort struct {
	NvrDeviceID  string //Nvr ID
	NvrChannelID int64  //Nvr 通道ID
	DeviceSipID  string //摄像头ID
	DeviceName   string //设备名称
	DccID        string
}

// RespApplyAudioPort  反馈 申请音频广播
type RespApplyAudioPort struct {
	CommonResponse
	AudioStreamID string `json:"webRtcServerUrl"`
	DccID         string
	Port          int `json:"port"`
	DevList       []ReqApplyAudioPort
}

type ReqCloseAudioPort struct {
	AudioStreamID string
	DccID         string
	Port          int
}
